// pages/classic/classic.js

import { ClassicModel } from '../../models/classic.js'
import { LikeModel } from '../../models/like.js'

const classicModel = new ClassicModel()
const likeModel = new LikeModel()

Page({

  /**
   * 页面的初始数据
   */
  data: {
    classic: null,
    latest: true, // 是否最后一期
    first: false // 是否第一个
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    // 获取期刊数据
    classicModel.getLatest((res) => {
      this.setData({
        classic: res
      })
    })
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  },

  /**
   * 点赞 喜欢/不喜欢
   */
  onLike: function(e) {
    // console.log(e)
    let behavior = e.detail.behavior
    // 喜欢/不喜欢 请求
    likeModel.like(
      behavior, this.data.classic.id, 
      this.data.classic.type
    )
  },

  /**
   * 获取最新一期 期刊
   * @param {*} e 
   */
  onNext:function(e) {
    classicModel.getNext(this.data.classic.index, (res) => {
      // console.log(res)
      this.setData({ 
        classic: res,
        latest: classicModel.isLatest(res.index),
        first: classicModel.isFirst(res.index)
      })
      
    })
  },

  /**
   * 获取前一期 期刊
   * @param {*} e 
   */
  onPrevious:function(e) {
    classicModel.getPrevious(this.data.classic.index, (res) => {
      // console.log(res)
      this.setData({ 
        classic: res,
        latest: classicModel.isLatest(res.index),
        first: classicModel.isFirst(res.index)
      })
      
    })
  }
})